package com.suray.rgv60.util;

/**
 * 两栖车IO种类
 */
public interface RobotIOType {
    enum ROBOT_DI_TYPE {
        INVALID(-1, "无效"),
        DI_0(0, "0号输入"),
        DI_1(1, "1号输入"),
        DI_2(2, "2号输入"),
        DI_3(3, "3号输入"),
        DI_4(4, "4号输入"),
        DI_5(5, "5号输入"),
        DI_6(6, "6号输入"),
        DI_7(7, "7号输入"),
        DI_8(8, "8号输入"),
        ;

        private int value;
        private String des;

        ROBOT_DI_TYPE(int value, String des) {
            this.value = value;
            this.des = des;
        }

        public static ROBOT_DI_TYPE parseValue(int value) {
            for (ROBOT_DI_TYPE robot_di_type : ROBOT_DI_TYPE.values()) {
                if (robot_di_type.value == value) {
                    return robot_di_type;
                }
            }

            return INVALID;
        }

        public int getValue() {
            return value;
        }

        @Override
        public String toString() {
            return des;
        }
    }

    enum ROBOT_DO_TYPE {
        INVALID(-1, "无效"),
        DO_0(0, "0号输出"),
        DO_1(1, "1号输出"),
        DO_2(2, "2号输出"),
        DO_3(3, "3号输出"),
        DO_4(4, "4号输出"),
        DO_5(5, "5号输出"),
        DO_6(6, "6号输出"),
        DO_7(7, "7号输出"),
        DO_8(8, "8号输出"),
        ;

        private int value;
        private String des;

        ROBOT_DO_TYPE(int value, String des) {
            this.value = value;
            this.des = des;
        }

        public static ROBOT_DO_TYPE parseValue(int value) {
            for (ROBOT_DO_TYPE robot_do_type : ROBOT_DO_TYPE.values()) {
                if (robot_do_type.value == value) {
                    return robot_do_type;
                }
            }

            return INVALID;
        }

        public int getValue() {
            return value;
        }

        @Override
        public String toString() {
            return des;
        }
    }
}
